
package br.com.moxirpt.controller.converter;

import java.util.List;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

import br.com.moxirpt.controller.managedbean.MenuPrincipalMB;
import br.com.moxirpt.controller.util.FacesUtil;
import br.com.moxirpt.model.vo.UsuarioVO;


public class UsuarioConverter implements Converter {
	
	public Object getAsObject(FacesContext context, UIComponent component, String value) {

		List<UsuarioVO> usuarios = null;
		
		UsuarioVO usuario = null;
		
		MenuPrincipalMB menuPrincipal = (MenuPrincipalMB) FacesUtil.getBean("#{menuPrincipalMB}");
		
		usuarios = menuPrincipal.getUsuariosCadastrados();
		
		String[] valuePart = value.split("-");
		if (valuePart[0] != null && !valuePart[0].trim().isEmpty()){
			
			int intValue = new Integer(valuePart[0].trim()).intValue();			
			usuario = usuarios.get(intValue);
			
		}else{
			usuario = new UsuarioVO();			
		}		
			
		return usuario;
		
	}
	
	public String getAsString(FacesContext context, UIComponent component, Object value) {
				
		MenuPrincipalMB menuPrincipal = (MenuPrincipalMB) FacesUtil.getBean("#{menuPrincipalMB}");
		
		int indexUsuario = menuPrincipal.getUsuariosCadastrados().indexOf(value);

		return (indexUsuario) + " - " + ((UsuarioVO)value).getNome();
		
	}
}
